package com.foton.bpc.all.util;

import java.util.ServiceLoader;

/**
 * @Author RenPu
 * @Date 2023/6/5 22:13
 * @Version 1.0
 * @Description: SPI工具类封装
 **/
public class SpIUtils {


    /**
     * SPI 根据配置得configName，匹配选择对应扩展实现
     * @param configName
     * @param classType
     * @return
     */
    public static Object getServiceImpl(String configName,Class classType){

        ServiceLoader services = ServiceLoader.load(classType, Thread.currentThread().getContextClassLoader());
        for (Object s: services){
            if(s.getClass().getSimpleName().equals(configName)){
                return s;
            }
        }

        return null;


    }






}
